home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -in_the_mag- / reader_requests / dice_v3.15 / lib / fd / fcntl.c < prev    next >
C/C++ Source or Header  |  1999-01-26  |  741b  |  43 lines

  1.  
  2. /*
  3.  *  FCNTL.C
  4.  *
  5.  *    (c)Copyright 1992-1997 Obvious Implementations Corp.  Redistribution and
  6.  *    use is allowed under the terms of the DICE-LICENSE FILE,
  7.  *    DICE-LICENSE.TXT.
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <ioctl.h>
  13. #include <fcntl.h>
  14. #include <errno.h>
  15.  
  16. int
  17. fcntl(fd, req, arg)
  18. int fd;
  19. int req;
  20. int arg;
  21. {
  22.     switch(req) {
  23.     case F_DUPFD:
  24.     return(ioctl(fd, IOC_DUP, NULL));
  25.     case F_GETFD:
  26.     arg = -1;
  27.     ioctl(fd, IOF_GET|IOC_CEXEC, &arg);
  28.     return(arg);
  29.     case F_SETFD:
  30.     return(ioctl(fd, IOF_SET|IOC_CEXEC, &arg));
  31.     case F_GETFL:
  32.     arg = -1;
  33.     ioctl(fd, IOF_GET|IOC_MODES, &arg);
  34.     return(arg);
  35.     case F_SETFL:
  36.     return(ioctl(fd, IOF_SET|IOC_MODES, &arg));
  37.     }
  38.     errno = EBADF;
  39.     return(-1);
  40. }
  41.  
  42.  
  43.